package com.aidex.biz.domain;

import com.aidex.common.annotation.Excel;
import com.aidex.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 售后订单对象 biz_refund_order
 * @author sean
 * @email 2074844820@qq.com
 * @date 2023-07-02
 */
@Data
public class RefundOrder extends BaseEntity<RefundOrder>
{
    private static final long serialVersionUID = 1L;



    /** 订单ID */
    @Excel(name = "订单ID")
    private String orderId;



    /**
     * 微信退款单号
     */
    private String wxRefundId;

    /** 订单类型 0 洗护 1商城 */
    @Excel(name = "订单类型 0 洗护 1商城")
    private String orderType;

    /** 退款金额 */
    private BigDecimal refundMoeny;

    /** 用户ID */
    private String userInfoId;

    /** 订单详情ID 废弃 */
    private String orderDetailsId;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date wxRefundTime;

    /** 排序 */
    private Integer sort;

    /** 状态（0 待审核  1已审核 2退款成功 ） */
    private String status;
//  退款渠道
    private String channel;
    // 退款账户
    private String userReceivedAccount;



    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }

    public void setRefundMoeny(BigDecimal refundMoeny) 
    {
        this.refundMoeny = refundMoeny;
    }

    public BigDecimal getRefundMoeny() 
    {
        return refundMoeny;
    }

    public void setUserInfoId(String userInfoId) 
    {
        this.userInfoId = userInfoId;
    }

    public String getUserInfoId() 
    {
        return userInfoId;
    }

    public void setOrderDetailsId(String orderDetailsId) 
    {
        this.orderDetailsId = orderDetailsId;
    }

    public String getOrderDetailsId() 
    {
        return orderDetailsId;
    }

    public void setSort(Integer sort) 
    {
        this.sort = sort;
    }

    public Integer getSort() 
    {
        return sort;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("userName", getUserName())
            .append("deptName", getDeptName())
            .append("companyId", getCompanyId())
            .append("orderId", getOrderId())
            .append("orderType", getOrderType())
            .append("refundMoeny", getRefundMoeny())
            .append("userInfoId", getUserInfoId())
            .append("orderDetailsId", getOrderDetailsId())
            .append("sort", getSort())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
